home *** CD-ROM | disk | FTP | other *** search
/ System Booster / System Booster.iso / Commodities / KeyClick / src / window.c < prev    next >
C/C++ Source or Header  |  1996-09-26  |  5KB  |  153 lines

  1. /*
  2.  *  Source generated with GadToolsBox V1.3
  3.  *  which is (c) Copyright 1991,92 Jaba Development
  4.  */
  5.  
  6. #include <exec/types.h>
  7. #include <intuition/intuition.h>
  8. #include <intuition/classes.h>
  9. #include <intuition/classusr.h>
  10. #include <intuition/imageclass.h>
  11. #include <intuition/gadgetclass.h>
  12. #include <libraries/gadtools.h>
  13. #include <graphics/displayinfo.h>
  14. #include <graphics/gfxbase.h>
  15. #include <proto/exec.h>
  16. #include <proto/intuition.h>
  17. #include <proto/gadtools.h>
  18. #include <proto/graphics.h>
  19. #include <string.h>
  20.  
  21. #include "window.h"
  22.  
  23. extern LONG click_vol, click_freq, click_on;
  24.  
  25. struct Screen        *Scr = NULL;
  26. APTR                  VisualInfo = NULL;
  27. struct Window        *ClickWnd = NULL;
  28. struct Gadget        *ClickGList = NULL;
  29. struct Gadget        *ClickGadgets[4];
  30. UWORD                 ClickLeft = 268;
  31. UWORD                 ClickTop = 15;
  32. UWORD                 ClickWidth = 311;
  33. UWORD                 ClickHeight = 37;
  34. UWORD                 ClickZoom[4] = { 268, 15, 150, 0};
  35. UBYTE                *ClickWdt = (UBYTE *)"KeyClick";
  36.  
  37. struct TextAttr topaz8 = {
  38.     ( STRPTR )"topaz.font", 8, 0x00, 0x00 };
  39.  
  40. int SetupScreen( void )
  41. {
  42.     if ( ! ( Scr = LockPubScreen((UBYTE * )"Workbench" )))
  43.         return( 1L );
  44.  
  45.     if ( ! ( VisualInfo = GetVisualInfo( Scr, TAG_DONE )))
  46.         return( 2L );
  47.  
  48.     return( 0L );
  49. }
  50.  
  51. void CloseDownScreen( void )
  52. {
  53.     if ( VisualInfo ) {
  54.         FreeVisualInfo( VisualInfo );
  55.         VisualInfo = NULL;
  56.     }
  57.  
  58.     if ( Scr        ) {
  59.         UnlockPubScreen( NULL, Scr );
  60.         Scr = NULL;
  61.     }
  62. }
  63.  
  64. int OpenClickWindow( void )
  65. {
  66.     struct NewGadget     ng;
  67.     struct Gadget       *g;
  68.     UWORD               offx, offy;
  69.  
  70.     offx = Scr->WBorLeft;
  71.     offy = Scr->WBorTop + Scr->RastPort.TxHeight + 1;
  72.     ClickZoom[3] = offy;
  73.  
  74.     if ( ! ( g = CreateContext( &ClickGList )))
  75.         return( 1L );
  76.  
  77.     ng.ng_LeftEdge        =    offx + 87;
  78.     ng.ng_TopEdge         =    offy + 2;
  79.     ng.ng_Width           =    171;
  80.     ng.ng_Height          =    9;
  81.     ng.ng_GadgetText      =    (UBYTE *)"Volume";
  82.     ng.ng_TextAttr        =    &topaz8;
  83.     ng.ng_GadgetID        =    GD_Vol;
  84.     ng.ng_Flags           =    PLACETEXT_LEFT;
  85.     ng.ng_VisualInfo      =    VisualInfo;
  86.  
  87.     g = CreateGadget( SLIDER_KIND, g, &ng, GTSL_Max, 64, GTSL_Level, click_vol, GTSL_MaxLevelLen, 4, GTSL_LevelFormat, "%4ld", GTSL_LevelPlace, PLACETEXT_RIGHT, PGA_Freedom, LORIENT_HORIZ, GA_Immediate, TRUE, TAG_DONE );
  88.  
  89.     ClickGadgets[ 0 ] = g;
  90.  
  91.     ng.ng_TopEdge         =    offy + 11;
  92.     ng.ng_GadgetText      =    (UBYTE *)"Frequency";
  93.     ng.ng_GadgetID        =    GD_Freq;
  94.  
  95.     g = CreateGadget( SLIDER_KIND, g, &ng, GTSL_Min, 100, GTSL_Max, 2400, GTSL_Level, click_freq, GTSL_MaxLevelLen, 1000, GTSL_LevelFormat, "%4ld", GTSL_LevelPlace, PLACETEXT_RIGHT, PGA_Freedom, LORIENT_HORIZ, GA_Immediate, TRUE, TAG_DONE );
  96.  
  97.     ClickGadgets[ 1 ] = g;
  98.  
  99.     ng.ng_TopEdge         =    offy + 22;
  100.     ng.ng_GadgetText      =    (UBYTE *)"Keyclick";
  101.     ng.ng_GadgetID        =    GD_Toggle;
  102.  
  103.     g = CreateGadget( CHECKBOX_KIND, g, &ng, GTCB_Checked, click_on ? TRUE : FALSE, TAG_DONE );
  104.  
  105.     ClickGadgets[ 2 ] = g;
  106.  
  107.     ng.ng_LeftEdge        =    offx + 119;
  108.     ng.ng_Width           =    139;
  109.     ng.ng_Height          =    11;
  110.     ng.ng_GadgetText      =    (UBYTE *)"Save settings";
  111.     ng.ng_GadgetID        =    GD_Save;
  112.     ng.ng_Flags           =    PLACETEXT_IN;
  113.  
  114.     g = CreateGadget( BUTTON_KIND, g, &ng, TAG_DONE );
  115.  
  116.     ClickGadgets[ 3 ] = g;
  117.  
  118.     if ( ! g )
  119.         return( 2L );
  120.  
  121.     if ( ! ( ClickWnd = OpenWindowTags( NULL,
  122.                     WA_Left,          ClickLeft,
  123.                     WA_Top,           ClickTop,
  124.                     WA_Width,         ClickWidth,
  125.                     WA_Height,        ClickHeight + offy,
  126.                     WA_IDCMP,         SLIDERIDCMP|CHECKBOXIDCMP|BUTTONIDCMP|IDCMP_CLOSEWINDOW|IDCMP_REFRESHWINDOW,
  127.                     WA_Flags,         WFLG_DRAGBAR|WFLG_DEPTHGADGET|WFLG_CLOSEGADGET|WFLG_SMART_REFRESH,
  128.                     WA_Gadgets,       ClickGList,
  129.                     WA_Title,         ClickWdt,
  130.             WA_ScreenTitle,   "KeyClick v1.0  © Martin W. Scott, 1992.",
  131.                     WA_Zoom,          ClickZoom,
  132.                     TAG_DONE )))
  133.         return( 4L );
  134.  
  135.     GT_RefreshWindow( ClickWnd, NULL );
  136.  
  137.     return( 0L );
  138. }
  139.  
  140. void CloseClickWindow( void )
  141. {
  142.     if ( ClickWnd        ) {
  143.         CloseWindow( ClickWnd );
  144.         ClickWnd = NULL;
  145.     }
  146.  
  147.     if ( ClickGList      ) {
  148.         FreeGadgets( ClickGList );
  149.         ClickGList = NULL;
  150.     }
  151. }
  152.  
  153.